دستور CASE از طریق شرایط می گذرد و زمانی که شرط اول برآورده شد مقداری را برمی گرداند (مانند دستور if-then-else). بنابراین، هنگامی که یک شرط درست باشد، خواندن آن متوقف می شود و نتیجه را برمی گرداند. اگر هیچ شرطی درست نباشد، مقدار موجود در عبارت ELSE را برمیگرداند.
اگر قسمت ELSE وجود نداشته باشد و هیچ شرطی درست نباشد، NULL را برمیگرداند.
SQL زیر شرایط را طی می کند و با برآورده شدن شرط اول مقداری را برمی گرداند:
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30 THEN 'The quantity is greater than 30'
WHEN Quantity = 30 THEN 'The quantity is 30'
ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;
SQL زیر مشتریان را بر اساس شهر سفارش می دهد. با این حال، اگر شهر NULL است، بر اساس کشور سفارش دهید:
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);